
. STARSHIP BALLY

   1 .
   2 . STARSHIP BALLY
   3 . BY ROB ROSENHOUSE
   4 . FOR SUPER SOFTWARE
   5 .
   6 . (C) 1980
   8 :RETURN ;NT=0;Z=1;O=20;P=5;Q=9;R=14;GOTO 9000
   9 T=76;C=0;K=-20;V=22
  10 GOSUB 10000;BC=0;FC=180;GOSUB 500;X=RND (100)-50;Y=RND (50)-25
  11 IF (X=0)×(Y=0)GOTO 10
  15 CY=40;PRINT "  SCORE",;CX=48;PRINT "TIME
  30 GOSUB 370;GOSUB 4000;GOSUB 500;GOSUB 800
 100 Z=1;GOSUB 330;GOSUB 115;GOTO 180
 115 BOX X,Y,40,4,1;BOX X,Y,38,6,1;BOX X,Y,36,8,1;BOX X,Y+6,20,4,1
 120 BOX X+9,Y+7,1,1,2;BOX X-10,Y+7,1,1,2
 130 FOR A=X-15TO X+15STEP 2;BOX A,Y,1,2,2;NEXT A;BOX X,Y+5,16,2,2;RETURN 
 180 IF Z#2IF TR(1)GOTO 210
 185 GOSUB 500;IF Z=2GOTO 30
 200 IF Z=1Z=2;GOSUB 3000;GOTO 180
 210 FC=98;&(19)=100;&(21)=V;&(23)=0;LINE 0,0,4;LINE -24,-44,1;LINE 24,-44,4;LINE 0,0,1
 230 GOSUB 500;FOR Z=90TO 16STEP -2;&(19)=Z;NEXT Z;IF 10>XIF -10<XGOTO 260
 250 GOTO 10
 260 IF 10>YIF -10<YGOTO 280
 270 GOTO 10
 280 C=C+1;&(21)=100;&(23)=100;&(19)=0
 285 FOR A=1TO 10
 290 BC=0;E=RND (100);BC=92
 300 BOX X+RND (30)-15,Y=RND (24)-12,2,2,3
 310 BC=7;BOX X+RND (30)-15,Y+RND (24)-12,2,2,3
 320 NEXT A;GOSUB 800;GOSUB 600;GOTO 10
 330 IF 10>XIF -10<XGOTO 350
 340 CY=-35;CX=-20;PRINT "SCANING!";RETURN 
 350 IF 10>YIF -10<Y CY=-35;CX=-20;PRINT " LOCKED ";RETURN 
 360 GOTO 340
 370 IF JY(1)=0IF JX(1)=0GOTO 420
 380 X=X+K×JX(1);Y=Y+K×JY(1)
 420 X=X+RND (20)-10;Y=Y+RND (20)-10
 421 IF X<-48X=-48
 422 IF X>48X=48
 423 IF Y<-38Y=-38
 424 IF Y>38Y=38
 430 IF 10>XIF -10<XGOTO 450
 440 RETURN 
 450 IF 10>YIF -10<YGOTO 470
 460 RETURN 
 470 X=0;Y=0;RETURN 
 500 T=T-1;IF T<=0T=0
 510 NT=0;CY=32;PRINT #5,C,;CX=54;PRINT #0,T;IF T=0GOTO 1000
 520 RETURN 
 600 IF (C=P)+(C=Q)+(C=R)GOTO 630
 610 RETURN 
 630 &(21)=0;FOR A=1TO O;T=T+1;GOSUB 510;NT=3;MU="N";MU="Q";NEXT A;RETURN 
 800 &(21)=85;&(23)=255;&(19)=150;RETURN 
1000 Z=1;&(19)=0;&(21)=0;&(23)=0
1010 GOSUB 3000;GOSUB 10000;CY=31;CX=-23;PRINT "GAME OVER
1020 CY=19;CX=-8;PRINT "PLAY
1100 GOSUB 3000;X=0;Y=0;GOSUB 115;CY=-39;CX=-39;PRINT "STARSHIP BALLY
1590 FOR B=1TO 2
1600 FOR A=1TO 25STEP 2;BOX @(A),@(A+1),1,1,3;NEXT A
1610 FOR A=1TO 150;IF &(23)=1GOTO 9000
1620 NEXT A;NEXT B
1630 GOSUB 1700;GOTO 1590
1700 FOR A=1TO 25STEP 2;X=RND (150)-75;Y=RND (80)-40;@(A)=X;@(A+1)=Y;NEXT A
1710 RETURN 
3000 BOX X,Y+2,40,12,2
4000 LINE -44,-44,4;LINE 43,43,1;LINE -44,43,4;LINE 43,-44,1;BOX 0,0,160,1,1;BOX 0,0,1,88,1;RETURN 
5000 PRINT "EXTRA TIME FOR ",#0,P,", ",#0,Q," + ",#0,R
5010 PRINT ;PRINT "  PULL TRIGGER TO BEGIN!
5020 RETURN 
9000 CLEAR ;CX=-69;CY=0;GOSUB 5000
9010 IF TR(1)CLEAR ;GOTO 9
9020 GOTO 9010
10000 BOX 0,-7,160,72,2;RETURN 

:RETURN 
>